void main() {
  //If you have a valid reason to use a subtype, you can use the covariant keyword.
}

class Animal {
  void eat(Animal a) {}
}

class Mouse extends Animal{

}

class Cat extends Animal {
  @override
  void eat(covariant Mouse mouse) {
  }
}


